package com.xmut.mall.order.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xmut.mall.order.dto.OrderComplaintDTO;
import com.xmut.mall.order.dto.OrderComplaintOperationParams;
import com.xmut.mall.order.dto.OrderComplaintSearchParams;
import com.xmut.mall.order.utils.PageUtils;
import com.xmut.mall.order.entity.OrderComplaintEntity;
import com.xmut.mall.order.utils.RespBean;
import com.xmut.mall.order.vo.PageVO;
import com.xmut.mall.order.vo.StoreAppealVO;

import java.util.Map;

public interface OrderComplaintService extends IService<OrderComplaintEntity> {

    /**
     * 获取当前投诉订单项的id
     * @param itemId
     * @return
     */
    RespBean getOrderComplaintItem(Long itemId);

    /**
     * 添加订单投诉
     * @param dto
     * @return
     */
    RespBean addOrderComplaint(OrderComplaintDTO dto);

    /**
     * 获取订单投诉的分页数据
     * @param vo
     * @param params
     * @return
     */
    RespBean getOrderComplaintByPage(PageVO vo, OrderComplaintSearchParams params);

    /**
     * 获取交易投诉详情
     * @param id
     * @return
     */
    RespBean getOrderComplaintDetail(Long id);

    /**
     * 取消订单投诉
     * @param id
     * @return
     */
    RespBean cancelOrderComplaint(Long id);

    /**
     * 修改状态
     * @param orderComplaintOperationParams
     */
    void updateOrderComplainByStatus(OrderComplaintOperationParams orderComplaintOperationParams);

    /**
     * 商家申诉
     * @param vo
     * @return
     */
    RespBean appeal(StoreAppealVO vo);
}

